package cn.iocoder.yudao.module.system.controller.admin.teacherdashboard.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.List;

@Schema(description = "管理后台 - 升学分析查询 Request VO")
@Data
public class AdmissionAnalysisReqVO {

    @Schema(description = "班级ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @NotNull(message = "班级ID不能为空")
    private Long classId;

    @Schema(description = "考试ID", example = "1")
    private Long examId;

    @Schema(description = "分析类型", example = "CURRENT")
    private String analysisType = "CURRENT"; // CURRENT, TREND, COMPARISON

    @Schema(description = "对比考试ID列表", example = "[1, 2, 3]")
    private List<Long> comparisonExamIds;

    @Schema(description = "是否包含临界学生分析", example = "true")
    private Boolean includeCriticalStudents = true;

    @Schema(description = "是否包含目标达成分析", example = "true")
    private Boolean includeTargetAnalysis = true;

    @Schema(description = "是否包含趋势分析", example = "true")
    private Boolean includeTrendAnalysis = true;

    @Schema(description = "临界分数范围", example = "10")
    private Integer criticalScoreRange = 10; // 距离分数线多少分内算临界

}
